diff --git a/system/database/DB.php b/system/database/DB.php
index 6223744..a148c9f 100644
--- a/system/database/DB.php
+++ b/system/database/DB.php
@@ -22,14 +22,8 @@
  * @author		Rick Ellis
  * @link		http://www.codeigniter.com/user_guide/database/
  */
-function DB($params = '', $return = FALSE, $active_record = FALSE)
+function DB($params = '', $active_record = FALSE)
 {
-	// Do we even need to load the database class?
-	if (class_exists('CI_DB') AND $return == FALSE AND $active_record == FALSE)
-	{
-		return FALSE;
-	}
-
 	// Load the DB config file if a DSN string wasn't passed
 	if (is_string($params) AND strpos($params, '://') === FALSE)
 	{
@@ -84,15 +78,8 @@
 
 	// Instantiate the DB adapter
 	$driver = 'CI_DB_'.$params['dbdriver'].'_driver';
-	$DB = new $driver($params);
-	
-	if ($return === TRUE)
-	{
-		return $DB;
-	}
-
-	$CI =& get_instance();	
-	$CI->db =& $DB;
+	$DB = new $driver($params);	
+	return $DB;
 }	
 
 
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index a4131fd..848d4f1 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -155,26 +155,7 @@
 			}	
 		}
 	}
-	
-	// --------------------------------------------------------------------
-
-	/**
-	 * Load the Utilities Class
-	 *
-	 * @access	public
-	 * @return	string		 
-	 */		
-	function load_utilities()
-	{			
-		require_once(BASEPATH.'database/DB_utility'.EXT);
-		require_once(BASEPATH.'database/drivers/'.$this->dbdriver.'/'.$this->dbdriver.'_utility'.EXT);
-		$class = 'CI_DB_'.$this->dbdriver.'_utility';
 		
-		$CI =& get_instance();
-		$CI->dbutil = new $class();
-		$CI->_ci_assign_to_models();
-	}
-	
 	// --------------------------------------------------------------------
 
 	/**
